<?php
Load::models('proyecto');
class ProyectoController extends AppController
{
public function ingresar()
    {
        if(Auth::is_valid()) // si es un usuario logeado se procede a ingresar un proveedor
        {
            $rol = Auth::get('rol_usu');
            if ($rol == "administrador" || $rol == "director de obra")
            {
                if(input::hasPost('proyecto'))
                {

                    $nuevo = new Proyecto(Input::post('proyecto'));
                    $fechaparacambiarformatoini= $nuevo->fecha_ini_proy;
                    $fechaparacambiarformatoter= $nuevo->fecha_ter_proy;
                    list($mes,$dia,$ano)= explode('/',$fechaparacambiarformatoini);
                    list($mesdos,$diados,$anodos)=explode('/',$fechaparacambiarformatoter);
                    $nuevo->fecha_ini_proy =$ano.'/'.$mes.'/'.$dia;  // se le asigna el nuevo formato a la fecha junto con la fecha del proyecto
                    $nuevo->fecha_ter_proy =$anodos.'/'.$mesdos.'/'.$diados; // se le asigna el nuevo formato a la fecha junto con la fecha del proyecto
                    $fechaparacompararini= $dia.'/'.$mes.'/'.$ano;
                    $fechaparacomprarter= $diados.'/'.$mesdos.'/'.$anodos;;

                    if($fechaparacompararini != $fechaparacomprarter && $fechaparacompararini < $fechaparacomprarter)
                    {
                    if($nuevo->save())
                        {
                            Flash:: valid('Proyecto ingresado');
                            input::delete();
                            return;
                        }
                    }
                    else
                    {
                        Flash::error("Revice las fechas de inicio y término del proyecto");
                    }
                  }       
            }
            else //LOGUEADO PERO EL ROL NO PERMITE INGRESAR GUIA DE DESPACHO
            {
                Flash::info('No tiene permisos para realizar esta acción');
                Router::redirect("/");
            }
        }
        else // en caso contrario se redirige al index USUARIO NO LOGUEADO
        {
            Router::redirect("/");
        }
    }

    public function buscar($page=1,$bandera=1,$banderados=1,$datoguardado=1,$opcion=0)
    {
        if(Auth::is_valid())
        {
            $rol = Auth::get('rol_usu');
            if ($rol == "secretaria" || $rol == "administrador" || $rol == "director de obra")
            {
                if ($bandera == '1')
                    {
                        $this->listaobtenida = '1';// con esto no sale el error de la variable no definida en cual salia en la vista
                    }      

                if(input::hasPost('proyecto') || $banderados >= 2)
                {
                    $opciondebusqueda = Input::post('seleccionbusqueda');
                    $datoabuscar = Input::post('proyecto');

                    if($opciondebusqueda == 1)
                    {
                            $obtenerdatos = new Proyecto;
                            $this->listaobtenida = $obtenerdatos->getdatosnombre($page,$datoabuscar);
                            $this->datoabuscarr = $datoabuscar;
                            $this->opcionn = $opciondebusqueda;

                    }
                    else if($opciondebusqueda == 2)
                    {
                            $obtenerdatos = new Proyecto;
                            $this->listaobtenida = $obtenerdatos->getdatosdireccion($page,$datoabuscar);
                            $this->datoabuscarr = $datoabuscar;
                            $this->opcionn = $opciondebusqueda;
                    }
                    else if($opciondebusqueda == 3)
                    {
                            $obtenerdatos = new Proyecto;
                            $this->listaobtenida = $obtenerdatos->getdatostope($page,$datoabuscar); 
                            $this->datoabuscarr = $datoabuscar;
                            $this->opcionn = $opciondebusqueda;
                    }
                   else if($opciondebusqueda == 0 && $banderados >= 2 )
                    {
                       $this->opcionn = $opcion;
                       if ($opcion == 1)
                       {
                            $obtenerdatos = new Proyecto;
                            $this->listaobtenida = $obtenerdatos->getdatosnombre($page,$datoguardado);
                            $this->datoabuscarr = $datoguardado;
                            $this->opcionn = $opcion;   
                       }
                       else if ($opcion==2)
                       {
                            $obtenerdatos = new Proyecto;
                            $this->listaobtenida = $obtenerdatos->getdatosdireccion($page,$datoguardado);
                            $this->datoabuscarr = $datoguardado;
                            $this->opcionn = $opcion;                      
                       }
                       else if ($opcion ==3)
                       {
                            $obtenerdatos = new Proyecto;
                            $this->listaobtenida = $obtenerdatos->getdatostope($page,$datoguardado); 
                            $this->datoabuscarr = $datoguardado;
                            $this->opcionn = $opcion;
                       }    
                    }
                }
            }
            else //LOGUEADO PERO EL ROL NO PERMITE INGRESAR GUIA DE DESPACHO
            {
                Flash::info('No tiene permisos para realizar esta acción');
                Router::redirect("/");
            }
                
        }
        else // en caso contrario se redirige al index NO LOGUEADO
        {
            Router::redirect("/");
        }
     }   
     
     public function editar($id)
     {
         if(Auth::is_valid()) // si es un usuario logeado se procede a ingresar un proveedor
         {
            $rol = Auth::get('rol_usu');
            if ($rol == "director de obra" || $rol == "administrador" || $rol == "gerente")
            {
                $proyectoaeditar = new Proyecto();
                 //se verifica si se ha enviado el formulario (submit)
                 if(Input::hasPost('proyecto'))
                 {
                    if($proyectoaeditar->update(Input::post('proyecto')))
                    {
                        Flash::valid('Proyecto fue actualizado');
                        //enrutando por defecto al index del controller
                        return Router::redirect('/proyecto/buscar');
                    } 
                    else 
                    {
                        Flash::error('Falló Operación');
                    }
                 } 
                 else 
                 {
                    //Aplicando la autocarga de objeto, para comenzar la edición
                    $this->proyecto = $proyectoaeditar->find((int)$id);
                 }
            }
            else //LOGUEADO PERO EL ROL NO PERMITE INGRESAR GUIA DE DESPACHO
            {
                Flash::info('No tiene permisos para realizar esta acción');
                Router::redirect("/");
            }
         }
         else // NO ESTA LOGUEADO
         {
            Router::redirect("/");
         }
         
                 
     }   
    
     public function eliminar($id)
     {
         
        if(Auth::is_valid()) // si es un usuario logeado se procede a ingresar un proveedor
        {
            $rol = Auth::get('rol_usu');
            if ($rol == "administrador" || $rol == "director de obra")
            {
                 $proyecto = new Proyecto();

                 //Variable que usaré en la vista eliminar.phtml
                 $this->id = $id;

                 $this->proyecto = $proyecto->find("conditions: id=".$id);
            }
            else //LOGUEADO PERO EL ROL NO PERMITE INGRESAR GUIA DE DESPACHO
            {
                Flash::info('No tiene permisos para realizar esta acción');
                Router::redirect("/");
            }
        }
        else // en caso contrario se redirige al index NO LOGUEADO
        {
            Router::redirect("/");
        }
            

     }
     
     public function eliminarconfirmado()
     {
        if(Auth::is_valid())
        {
            $rol = Auth::get('rol_usu');
            if ($rol == "administrador" || $rol == "director de obra")
            {
                $proyectoaeliminar = new Proyecto();
                if(Input::hasGet('id'))
                    {
                        $proyecto = $proyectoaeliminar->find(Input::get('id'));

                        //SE VERIFICA QUE EL ID DEL PROVEEDOR NO SE ENCUENTRE YA INACTIVO;
                        if ($proyecto->estado_proy == "0")
                        {
                            Flash::info('El proyecto ya ha sido eliminado del sistema');
                            Router::redirect('../proyecto/buscar');
                            exit();
                        }

                        //Pasar el proveedor a inactivo
                        $proyecto->estado_proy = "0";

                        //SE PROCEDE A ELIMINAR
                        if($proyecto->update())
                        {
                            Flash::valid('proyecto fue eliminado');
                            Router::redirect('../proyecto/buscar');
                        }
                        else
                        {
                            Flash::error("Fallo en la eliminación (proyecto)");
                            Router::redirect('../proyecto/buscar');
                        }

                    }
                    else
                    {
                        Flash::info("Debe proveer el id del proyecto a eliminar");
                        Router::redirect('../proyecto/buscar');
                    }
              }
              else //LOGUEADO PERO EL ROL NO PERMITE INGRESAR GUIA DE DESPACHO
              {
                Flash::info('No tiene permisos para realizar esta acción');
                Router::redirect("/");
              }
        }
        else //NO LOGUEADO
        {
            Router::redirect('../');
        }
        
     }
}
?>
